package com.spsoft.workflow.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.spsoft.core.model.Result;
import com.spsoft.workflow.common.enums.BusFlowTypeEnums;
import com.spsoft.workflow.entity.WfProcessTemplates;
import com.baomidou.mybatisplus.extension.service.IService;
import com.spsoft.workflow.model.dto.template.WfProcessTemplateSaveDto;
import com.spsoft.workflow.model.dto.template.WfProcessTemplatesQueryDto;
import com.spsoft.workflow.model.vo.biz.WfProcessTemplatesVo;
import org.flowable.bpmn.model.BpmnModel;

/**
 * <p>
 * 流程审批摸板;--主键序列 SEQ_WF_PROCESS_TEMPLATES 服务类
 * </p>
 *
 * @author dlchen
 * @since 2023-11-13
 */
public interface WfProcessTemplatesService extends IService<WfProcessTemplates> {


    Result<IPage<WfProcessTemplatesVo>> queryPageList(WfProcessTemplatesQueryDto templateDto);

    Result<WfProcessTemplates> getFormTemplateById(Long id);

    Result saveTemplate(WfProcessTemplateSaveDto templateDto);

    Result updateTemplate(WfProcessTemplateSaveDto templateDto);

    Result getBMPNXml(WfProcessTemplateSaveDto templateDto);

    BpmnModel getBpmnModelByTemplateId(Long templateId);

    WfProcessTemplates getFormTemplateByBusType(BusFlowTypeEnums busFlowTypeEnums);
}
